//
//  TTStatusBarUtilities.h
//  BaseProject
//
//  Created by 王洋 on 2021/2/19.
//  Copyright © 2021 王洋. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/**
 *  状态栏的frame值
 */
#define  STATUS_BAR_FRAME  [[UIApplication sharedApplication] statusBarFrame]

@protocol TTStatusMessageProtocol <NSObject>

@required
/**
 *  显示动画
 *
 *  @param seconds 显示持续时间
 */
- (void)showWithDuration:(NSTimeInterval)seconds;

/**
 *  隐藏动画(隐藏动画的时候请移除掉自己)
 *
 *  @param seconds 隐藏持续时间
 */
- (void)hideWithDuration:(NSTimeInterval)seconds;

@end

@interface TTStatusBarUtilities : NSObject
/**
 *  显示加载的view
 *
 *  @param view     实现了StatusMessageProtocol的view
 *  @param duration 动画显示时间
 */
+ (void)showWithView:(UIView <TTStatusMessageProtocol> *)view duration:(NSTimeInterval)duration;

/**
 *  隐藏加载的view
 *
 *  @param duration 隐藏动画显示时间
 */
+ (void)hideWithDuration:(NSTimeInterval)duration;


///////////////////////////////////////////////////////////////////////////////////////////////////

/**
 *  设置显示以及隐藏的动画时间(不设置,默认为1s)
 *
 *  @param duration 动画时间
 */
+ (void)showAndHideDuration:(NSTimeInterval)duration;

/**
 *  显示view,然后几秒后隐藏
 *
 *  @param view    实现了StatusMessageProtocol的view
 *  @param seconds 延时几秒后隐藏
 */
+ (void)showWithView:(UIView <TTStatusMessageProtocol> *)view hideAfterSeconds:(NSTimeInterval)seconds;


@end

NS_ASSUME_NONNULL_END
